Constraints applications such as capturing user requirements (needs analysis) can be built using a number of easy steps:
More:
Define the constraints knowledge
Define Dialogs